Yum/yast/apt repositories provide basic infrastructure to deploy software packages on Linux systems. The procedure for creating a repository requires populating the software packages and running a tool, which creates index files. These index files serve as menus for client systems to pick and choose the packages required on the client systems. The client systems can then request specific packages from the Yum/yast/apt repository and install those packages. However this approach restricts the client systems by requiring the clients to choose only the packages available in the index files menus. This basic infrastructure for deploying software packages on Linux systems precludes the client system from selecting software packages from a range of available and desirable software packages. Additionally, in this basic infrastructure for deploying software packages, software packages cannot be created from the Yum/yast/apt repositories on demand, even when the repositories have all of the content required for the software packages.
This basic infrastructure especially limits the creation of driver software packages. In most cases a driver software package built for one version of a kernel can be reused by a newer version of the kernel. Since it is impossible to determine from operating system (OS) vendors what all their future kernel versions will contain, then making available the driver packages for those future kernel versions is impossible. This motivates the need for a dynamic repository system.
Therefore, the need exists for a dynamic Yum/yast/apt repository infrastructure for deploying software packages on Linux systems.
Further, the need exists for a method and system of selecting, by client systems, software packages on demand, which are not restricted to predetermined menu selections.
In addition, the need exists for a method and system of creating software packages by reusing content from existing software packages.